
const url = 'https://www.example.com/upload' //开发者服务器 url

// 等价uniCloud云存储uploadFile 直接上传文件到云存储。 https://uniapp.dcloud.io/uniCloud/storage?id=uploadfile
export async function uploadFile ({filePath,cloudPath,fileType="image",onUploadProgress}){
    return new Promise(function(resolve,reject){
        // 阿里云单文件大小限制为100M，腾讯云单文件最大为5G
        let uploadTask = uni.uploadFile({ // api参考 https://uniapp.dcloud.io/api/request/network-file
            url: url,
            filePath: filePath,//要上传文件资源的路径。
            fileType: fileType,
            name: 'file',
            formData: {
                cloudPath:cloudPath
            },
            success: (res) => {
                let fileID = res.data.fileID// 文件路径
                let requestId = res.code //错误码
                resolve({fileID,requestId})
            },
            fail: (error) => {
                reject()
            }
        });

        onUploadProgress && uploadTask.onProgressUpdate(onUploadProgress)
    })
}
// todo cloudPath uniCloud云存储uploadFile是包含文件名的，浏览器直传oss需要算法实现文件名
// 文件名算法参考 https://www.jianshu.com/p/3785fc314fc5
export function createFileName (){
    var date = new Date();//实例一个时间对象；
    var year = date.getFullYear().toString();//获取系统的年；
    var month = (date.getMonth()+1).toString();//获取系统月份，由于月份是从0开始计算，所以要加1
    var day = date.getDate().toString()
    var uuid = year + month + day + Number(Math.random().toString().substr(3,length) + Date.now()).toString(36)
    return uuid;
}